#include "Stack.h"

using namespace Common;

template<class ST>
Stack<ST>::Stack()
{
	_pStArray    = NULL;
	_elementNum  = 0;
}

template<class ST>
Stack<ST>::~Stack()
{
	if ( _pStArray )
	{
		delete[] _pStArray;
	}
}

template<class ST>
BOOL Stack<ST>::InitStack( UINT count )
{
	_pStArray = new ST[count];
	if ( _pStArray )
	{
		_elementNum = count;
		for ( UINT i = 0; i < count; i++)
		{
			_freeIndexSet.insert(i);
		}
		return TRUE;
	}
	_pStArray = NULL;
	return FALSE;
}
